#ifndef CONFIG_H
#define CONFIG_H

#include <stdio.h>

#define CONFIG_MAX_BUF		2048			/* 2K配置文件的内容大小 */
#define CONFIG_PATH			/etc/usb.conf	/* 默认配置文件的路径 */

struct configure{
  u_int16_t		webport;		/* 浏览器访问端口 */
  u_init16_t	listenport;		/* 客户连接端口 */
  char		clientstatpath[50];	/* 保存用户状态的文件路径 */
  char		taskupdatepath[50];	/* 保存更新任务列表的文件路径 */
  char		password[50];		/* 管理员登陆密码 */
  int		mutilogin;			/* 是否允许多个管理员同时登陆,0:禁止,1:允许 */
  
  u_init32_t	serverip;		/* 服务器IP */
  u_init16_t	serverport;		/* 服务器端口 */   
};

/* 全局变量，保存配置 */
extern struct configure conf;

/* 初始化配置文件，将结果保存在结构体内并返回 */
extern void initconf();

/* 描述: 读出config_buf中每一行的键值对,并设置到configure结构体中 */
void configure_read(int fd);

/* 描述: 读取打开描述符文件或套接口中一行内容 */
ssize_t readline(int fd, void *vptr, size_t maxlen);
ssize_t Readline(int fd, void *vptr, size_t maxlen);

#endif
